// 实现一个类MyList，要求里面可以增加int、string类型的数据

// 泛型类的使用很简单，在类名后面加上一个<自定义名称>即可
class MyList<T> {

  // 下面的两个T的使用你可能有点迷糊，没事，看到下面实例化你就明白了
  List list = <T>[];

  add(T value) {
    this.list.add(value);
  }

  List getList() {
    return this.list;
  }
}

void main(List<String> args) {
  MyList ml = new MyList<String>();
  // ml.add(true);//报错，因为你new的时候指定了T为string类型，所以ml的add只能传入字符串类型
  ml.add('1');
  print(ml.getList());

  var ml2 = new MyList<int>();
  // ml2.add('1');//报错，因为你new的时候指定了T为int类型，所以ml的add只能传入整数类型
  ml2.add(2);
  print(ml2.getList());
}
